// 将arrtsString字符串，转换为数组[name: '属性名',value:'属性值']的形式
export default function (attrsString) {
  // arrtsString是undefined
  if (attrsString == undefined) return []
  // 当前指针是否在引号内
  let isYinhao = false
  // 断点指针
  let point = 0
  // 结果数组
  let result = []
  for (let i = 0; i < attrsString.length; i++) {
    let char = attrsString[i]
    if (char == '"') {
      isYinhao = !isYinhao
    } else if (char == ' ' && !isYinhao) {
      // 遇见了空格，且不在引号中
      let subStr = attrsString.substring(point, i)
      // 如果截取的字符串不是（只有空字符），才推到结果数组中
      if (!/^\s*$/.test(subStr)) {
        result.push(subStr.trim())
        // 更新断点指针
        point = i
      }
    }
  }
  // 循环结束之后，还剩一个属性k = 'v'
  result.push(attrsString.substring(point).trim())
  result = result.map((item) => {
    // 根据'='拆分
    const o = item.match(/^(.+)="(.+)"$/)
    return {
      name: o[1],
      value: o[2],
    }
  })
  return result
}
